Implementing an OCL Compiler for .NET

نویسندگان

  • László Lengyel
  • Tihamér Levendovszky
  • Hassan Charaf
چکیده

Model-Driven Architecture standardized by OMG facilitates separating the platform-independent part (PIM) and the platform-specific part (PSM) of a system model. The platform-independent artifacts are mainly UML models created with CASE tools. Due to this separation, PIM specified by the developers can be reused across several implementation platforms of the software. PSM is ideally generated automatically from PIM via model transformation steps performed by model compilers. Beyond the topology of the visual models additional constraints must be specified, which ensure the correctness of the attributes among others. Dealing with OCL constraints provides a solution for the unsolved issues, because topological and attribute transformation methods cannot perform and express the problems that can be addressed by constraint validation. This paper discusses the need for combining UML and OCL, it introduces the compilers in general, it shows the architecture of our OCL Compiler for .NET, and it presents the lexical and syntactic analysis as well as the semantic analysis and code generation techniques in detail. The OCL Compiler has been implemented as a module of our n-layer multipurpose modeling and metamodel-based transformation system called Visual Modeling and Transformation System (VMTS). The OCL Compiler module facilitates validating (i) constraints contained by the metamodels at the time of the model instantiation process, and (ii) constraints contained by the transformation steps during the metamodel-based graph transformation. An illustrative case study is also provided, which introduces how VMTS generates source code from a statechart diagram, and how it validates specific properties using the OCL Compiler.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing an OCL 2.0 Compiler for Metamodeling Environments

The Unified Modeling Language (UML) has become a standard in modeling, but it cannot express all the necessary modeling information between the model items. Object Constraint Language (OCL) is used to extend the capabilities of UML diagrams, and define constraints for the model items. The combination of UML and OCL can be used to realize vision of OMG’s Model Driven Architecture (MDA). OCL is b...

متن کامل

An MDA Framework Supporting OCL

We present an mda framework, developed in the functional programming language sml, that tries to bridge the gap between formal software development and the needs of industrial software development, e.g., code generation. Overall, our toolchain provides support for software modeling using uml/ocl and guides the user from type-checking and model transformations to code generation and formal analy...

متن کامل

Optimization Algorithms For OCL Compilers

Constraint handling is one of the most focused research field in both model validation and model transformation. Constraints are often simple topological conditions such as multiplicity checks, but the main strength of the constraint validation lies in the textual constraints defined in high-level languages. Object Constraint Language (OCL) is a wide-spread formalism to express model constraint...

متن کامل

Towards a Tool for Featherweight OCL: A Case Study On Semantic Reflection

We show how modern proof environments comprising code generators and re ection facilities can be used for the e ective construction of a tool for OCL. For this end, we de ne a UML/OCL meta-model in HOL, a meta-model for Isabelle/HOL in HOL, and a compiling function between them over the vocabulary of the libraries provided by Featherweight OCL. We use the code generator of Isabelle to generate ...

متن کامل

Ocl a Proposal for a Machine _ Checked Formal Semantics for Ocl

The Uni ed Modeling Language (UML) is one of the few modeling languages that is widely used in industry. While UML is mostly known as diagrammatic modeling language (e. g., visualizing class models), it is complemented by a textual language, called Object Constraint Language (OCL). OCL is a textual annotation language, originally based on a three-valued logic, that turns UML into a formal langu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005